package rukopisyimport.cli;

import cz.mzk.rehan.commons.CommandLineOptions;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.cli.Option;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author Martin Řehánek (rehan at mzk.cz)
 */
public class DefinedOptions implements CommandLineOptions{

    public final Option ACTION = new Option("a", "action", true, "Action to be performed");
    public final Option PROPERTIES_FILE = new Option("p", "properties-file", true, "Propeties file");
    public final Option SIGNATURE = new Option("s", "signature", true, "Signature to handle");
    public final Option SIGNATURE_FILE = new Option("sf", "signatures-file", true, "File with single signature on every row");
    public final Option DETAILED_PRINT = new Option("dp", "detailed-print", false, "Detailed print");
    public final Option INGEST_FOXMLS = new Option("ingest", "ingest-foxmls", false, "Ingest created foxmls");
    public final Option CREATE_INTERNAL_PARTS = new Option("ci", "create-internal-parts", false, "Create internal parts if possible");
    public final Option MANUSCRIPTS_IN_IMAGE_SERVER = new Option("ii", "in-image-server", false, "All ingested manuscript are in image server");
    public final Option INDEX_MANUSCRIPT = new Option("index", "index-manuscript", false, "Index ingested manuscript");
    public final Option UUID = new Option("uuid", "uuid", true, "Uuid of newly created manuscript");
    public final Option MODEL = new Option("m", "model", true, "Model of top level object(s)");


    {
        ACTION.setRequired(true);
        PROPERTIES_FILE.setRequired(true);

    }

    public List<Option> getAllOptions() {
        List<Option> result = new ArrayList<Option>();
        result.add(ACTION);
        result.add(PROPERTIES_FILE);
        result.add(SIGNATURE);
        result.add(SIGNATURE_FILE);
        result.add(DETAILED_PRINT);
        result.add(INGEST_FOXMLS);
        result.add(CREATE_INTERNAL_PARTS);
        result.add(MANUSCRIPTS_IN_IMAGE_SERVER);
        result.add(INDEX_MANUSCRIPT);
        result.add(UUID);
        result.add(MODEL);
        return result;
    }
}
